package controllers;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import models.Tarefa;
import models.TipoUsuarioEnum;
import models.Usuario;
import play.Logger;
import play.db.DB;
import play.mvc.Controller;
import controllers.Tarefas;

public class Application extends Controller {

	public static void index() {
		render();
	}

	 static void verificarAutenticacao(){
		
		if(session.get("usuario") == null)
			index();
		
	}
	
	public static void paginaInicial() throws SQLException {
		String user = session.get("usuario");
		String tipoUsuario = checkAdmin();
		render(user, tipoUsuario);
	}

	public static void validarLogin(String username, String password)
			throws SQLException, android.database.SQLException {

		Usuario funcionario = Usuario.find("byUsernameAndPassword", username,
				password).first();
		if (funcionario != null) {
			session.put("usuario", funcionario.getUsername());

			paginaInicial();
		}

		index();

	}

	public static void logout() {
		session.clear();
		index();
	}

	public static String usuario(){
		return session.get("usuario");
	}
	
	static String checkAdmin() throws SQLException {

		String tipoUsuario = "";
		
		String usuarioLogado = session.get("usuario");

		ResultSet rs = DB
				.executeQuery("exec tipoUsuario @nome = '"
						+ usuarioLogado + "'");

		try {
			while (rs.next()) {

				tipoUsuario = rs.getString("tipoUsuario");

			}

		} catch (Exception e) {
			System.out.println("Erro inesperado");
		} finally {
			rs.close();
		}
		return tipoUsuario;

	}

}